↳ ITRS
↳ ITRStoIDPProof
z
g(x, cons(y, ys)) → cons(+@z(x, y), g(x, ys))
g(x0, cons(x1, x2))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
z
g(x, cons(y, ys)) → cons(+@z(x, y), g(x, ys))
(0) -> (0), if ((ys[0] →* cons(y[0]a, ys[0]a))∧(x[0] →* x[0]a))
g(x0, cons(x1, x2))
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
(0) -> (0), if ((ys[0] →* cons(y[0]a, ys[0]a))∧(x[0] →* x[0]a))
g(x0, cons(x1, x2))
(1) (ys[0]=cons(y[0]1, ys[0]1)∧x[0]=x[0]1∧ys[0]1=cons(y[0]2, ys[0]2)∧x[0]1=x[0]2 ⇒ G(x[0]1, cons(y[0]1, ys[0]1))≥G(x[0]1, ys[0]1)∧(UIncreasing(G(x[0]1, ys[0]1)), ≥))
(2) (G(x[0], cons(y[0]1, cons(y[0]2, ys[0]2)))≥G(x[0], cons(y[0]2, ys[0]2))∧(UIncreasing(G(x[0]1, ys[0]1)), ≥))
(3) ((UIncreasing(G(x[0]1, ys[0]1)), ≥)∧1 ≥ 0)
(4) ((UIncreasing(G(x[0]1, ys[0]1)), ≥)∧1 ≥ 0)
(5) (1 ≥ 0∧(UIncreasing(G(x[0]1, ys[0]1)), ≥))
(6) (0 = 0∧0 = 0∧0 = 0∧0 = 0∧(UIncreasing(G(x[0]1, ys[0]1)), ≥)∧1 ≥ 0)
POL(cons(x1, x2)) = 1 + x2
POL(TRUE) = 0
POL(G(x1, x2)) = -1 + (2)x2 + (-1)x1
POL(FALSE) = 0
POL(undefined) = 0
G(x[0], cons(y[0], ys[0])) → G(x[0], ys[0])
G(x[0], cons(y[0], ys[0])) → G(x[0], ys[0])
↳ ITRS
↳ ITRStoIDPProof
↳ IDP
↳ UsableRulesProof
↳ IDP
↳ IDPNonInfProof
↳ IDP
↳ IDependencyGraphProof
g(x0, cons(x1, x2))